Skip to content

Linux系统安装 Docker

这里实际是虚拟机的一个安装步骤

Linux系统安装 Docker操作

安装操作

# `yum` 是一个在Red Hat及其衍生版(如CentOS)上用于管理软件包的命令行工具
yum install -y yum-utils

# 将这个地址添加到系统的软件源列表中,以便可以安装Docker。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#用于安装三个Docker相关的软件包
yum install docker-ce docker-ce-cli containerd.io

这个注意一下

image.png

修改为

yum install -y docker-ce-25.0.5 docker-ce-cli-25.0.5 containerd.io

启动docer并设置开机自启

systemctl start docker

systemctl enable docker

docker配置加速度

修改 /etc/docker/daemon.json 文件并添加上 registry-mirrors 键值;注册阿里云,可获取自己的加速器

容器镜像服务 → 容器加速器

{
    "registry-mirrors": ["https://registry.docker-cn.com"]
}

docker安装验证

docker --version

重启 docker 容器操作:

systemctl restart docker

#一般可能还会需要操作
systemctl daemon-reload

yum 更新到最新版本

上面可能执行第一个命令的时候就报错

yum install -y yum-utils

本机出现的问题是:"Could not resolve host: mirrorlist.centos.org; Unknown error"

参考: https://bugstack.cn/md/road-map/docker.html

yum update


# 如果更新失败,按照下面的方式

## 建议备份当前的 yum 源配置,以防万一需要恢复
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

## 从阿里云下载 CentOS 7 的 yum 源配置文件并替换现有的配置(一个命令,不是分开的)
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

## 清理旧的缓存并生成新的缓存
sudo yum clean all
sudo yum makecache

## 再次更新
sudo yum update

卸载 Docker

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

Docker 配置镜像源

阿里云地址: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

配置文件 /etc/docker/daemon.json

touch /etc/docker/daemon.json
{
  "registry-mirrors": ["https://hub-mirror.c.163.com"]
}

如果要使用多个镜像源,可以在 "registry-mirrors" 数组中添加多个镜像源地址,以英文逗号分隔。

保存配置文件,重启 Docker 服务

sudo systemctl restart docker

常见的镜像源

网易云 Docker 镜像:https://hub-mirror.c.163.com
百度云 Docker 镜像:https://mirror.baidubce.com
阿里云 Docker 镜像(需要使用阿里账号自行创建专属镜像仓库):https://cr.console.aliyun.com/
DaoCloud Docker 镜像(配置文档):http://f1361db2.m.daocloud.io

阿里云官网的配置内容 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://7iwp6tq0.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

阿里云现在的加速好像限制了只能阿里云产品使用

如果是其他的云产品,尝试使用一下配置多个

{
	"registry-mirrors": [
		"https://docker.mirrors.ustc.edu.cn/",
		"https://hub-mirror.c.163.com",
    "https://docker-cf.registry.cyou",
    "https://dockercf.jsdelivr.fyi",
    "https://docker.jsdelivr.fyi",
    "https://dockertest.jsdelivr.fyi",
    "https://mirror.aliyuncs.com",
    "https://dockerproxy.com",
    "https://mirror.baidubce.com",
    "https://docker.m.daocloud.io",
    "https://docker.nju.edu.cn",
    "https://docker.mirrors.sjtug.sjtu.edu.cn",
    "https://mirror.iscas.ac.cn",
    "https://docker.rainbond.cc"
	]
}


# 加载配置
systemctl daemon-reload

# 重启docker服务
systemctl restart docker

#查看是否配置成功
$ docker info

如果某个加速器无法访问,可能是由于网络问题。你可以尝试ping该地址,或者使用curl命令来检查网络连接:

curl -f <加速器地址>

更新了一版

{
	"registry-mirrors": [
        "https://mirror.iscas.ac.cn",
        "https://dockerproxy.com",
        "https://docker.m.daocloud.io",
        "https://docker.nju.edu.cn",
        "https://docker.mirrors.sjtug.sjtu.edu.cn",
        "https://docker.rainbond.cc"
	]
}

常见报错解决

docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).

切换一下配置镜像源